package com.cmas.platform.service;

import com.aidex.common.core.domain.entity.SysUser;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cmas.platform.domain.Message;
import com.cmas.platform.dto.MessageDto;
import com.cmas.platform.vo.LastMessageVo;
import com.cmas.platform.vo.MessageVo;

import java.util.List;

/**
 * 消息表Service接口
 * @author su
 * @email 1218819874@qq.com
 * @date 2023-04-28
 */
public interface MessageService extends IService<Message> {


    /**
     * 查询消息表数组
     * @param message 实体
     * @return 结果
     */
    List<Message> selectMessageList(Message message);


    public List<MessageVo> selectMessageVoList(Message message);


    /**
     * 查询消息表数组
     * @param message 实体
     * @return 结果
     */
    public List<Message> selectLastMessageList(Message message);

    /**
     * 批量删除消息表
     * @param ids 需要删除的消息表ID集合
     * @return 结果
     */
    public int deleteMessageByIds(String[] ids);

    /**
     * 根据消息中的toId将信息发送给指定的用户
     *
     * @param message   消息体
     */
    Message sendMessageByToId(Message message);


    List<MessageDto> selectuserMessageList(List<SysUser> userList);


    IPage<LastMessageVo> selectLastMessageVoList(Integer current, Integer size, Message message);

    IPage<MessageVo> userMessageRecord(Integer current, Integer size, Message message);

    List<MessageVo> userMessageRecord(Message message);

}
